// 插件机制（可以将全局注册使用到的组件，或者过滤器或者自定义指令放在这里，main.js中只需要vue.use(定义插件)就可了）
import PageTools from './PageTools'
import ImageUpload from './ImageUpload'
import WorkCalender from './WorkCalendar'
import Radar from '@/views/dashboard/components/radar'
import TagsView from './TagsView'
import ScreenFull from './ScreenFull'
import ThemePicker from './ThemePicker'
import lang from './lang'
import store from '@/store'
// 默认导出出去
export default {
  install(Vue) {
    // 这里注册插件 || 插件的初始化, 插件给你提供的全局的功能, 都可以在这里配置
    Vue.component(PageTools.name, PageTools)
    Vue.component(ImageUpload.name, ImageUpload)
    Vue.component(WorkCalender.name, WorkCalender)
    Vue.component(Radar.name, Radar)
    Vue.component(ScreenFull.name, ScreenFull)
    Vue.component('Lang', lang)
    Vue.component(TagsView.name, TagsView)
    Vue.component(ThemePicker.name, ThemePicker)
    // Vue.prototype.$aa = function() {
    //   console.log('哈哈')
    // }
    // 挂载到vue的原型上，或者使用自定义指令
    Vue.prototype.check = function(point) {
      // 拿到用户拥有的按钮权限，对比传过来的按钮权限，如果在用户权限中找到了，那么用户就拥有这个权限，反之没有 这个全部转成小写处理
      return store.state.user.userInfo.roles?.points.some(item => item.toLowerCase() === point.toLowerCase())
      // const res = store.state.user.userInfo.roles.points // 拿到用户拥有的按钮权限
      // return res.some(item => item === point) // 传过来的按钮权限和用户拥有的按钮权限对比，如果找到了，用户就拥有这个按钮的权限
    }
  }
}

